import { request } from '@/utils/request.js'

/**
 * 获取选课轮次列表
 * @param {Object} params - 查询参数对象
 * @param {number} params.pageNum - 页码，示例值(1)
 * @param {number} params.pageSize - 每页条数，示例值(10)
 * @param {string} [params.roundName] - 轮次名称（可选）
 * @returns {Promise} 返回选课轮次列表数据的Promise对象
 */
export const getroundlist = (params) => {
  return request({
    url: '/api/round',
    method: 'get',
    params,
  })
}

/**
 * 创建选课轮次
 * @param {Object} data - 选课轮次数据对象
 * @param {number} [data.id] - 轮次ID（编辑时需要）
 * @param {string} data.name - 轮次名称
 * @param {number} data.maxNum - 选课最大数
 * @param {string} data.startTime - 选课开始时间
 * @param {string} data.endTime - 选课结束时间
 * @param {number} data.states - 状态(1:启用, 2:禁用)
 * @returns {Promise} 返回创建选课轮次的请求Promise对象
 */
export const createround = (data) => {
  return request({
    url: '/api/round',
    method: 'post',
    data,
  })
}

/**
 * 更新选课轮次
 * @param {Object} data - 选课轮次数据对象
 * @param {number} [data.id] - 轮次ID（编辑时需要）
 * @param {string} data.name - 轮次名称
 * @param {number} data.maxNum - 选课最大数
 * @param {string} data.startTime - 选课开始时间
 * @param {string} data.endTime - 选课结束时间
 * @param {number} data.states - 状态(1:启用, 2:禁用)
 * @returns {Promise} 返回更新选课轮次的请求Promise对象
 */
export const updateround = (data) => {
  return request({
    url: '/api/round',
    method: 'put',
    data,
  })
}

/**
 * 删除选课轮次
 * @param {number[]} integers - 轮次ID数组
 * @returns {Promise} 返回删除选课轮次的请求Promise对象
 */
export const deleteround = (data) => {
  return request({
    url: `/api/round`,
    method: 'delete',
    data
  })
}
